Create a voice translation
You create a voice translation service in a wizard of three tabs: General, Languages, and Advanced. The activation mode you select on the first tab determines what the Languages tab asks for:
- Automatic start. Translation begins as soon as the call connects, and you configure one agent language and one customer language.
- Dynamic activation. The agent starts translation by entering a DTMF code once the customer's language is known, and you configure at least two languages, each with its own code.
This real-time translation service uses AI and may occasionally produce errors caused by language nuances or accents, so check critical translations for accuracy.
General
The General tab names the service and sets the region, speech provider, and activation mode it uses.
-
In the Navigation pane, expand Hub+, and select Voice translation.
-
Click Add new voice translation.
-
In the 'Name' field, enter a name for the translation.
-
From the 'Live Hub region' drop-down list, select the region your Live Hub voice infrastructure runs in. See Global region support.
-
From the 'Speech provider' drop-down list, select Provided by AudioCodes, the default, or one of your own. See Speech providers.
-
Under the Activation mode group, select Automatic start or Dynamic activation.
-
Click Next.
Languages
On the Languages tab, you select a translation provider and the languages to translate between. The fields on the Languages tab depend on the activation mode you selected on the General tab.
Instead of a fixed language, you can select Multi for either side of the call. The translation then detects the language that side speaks. For example, set the agent language to English (United States) (en-US) and the customer language to Multi, and each customer is translated from whatever language the customer speaks.
Multi is available only with Soniox as the speech-to-text provider.
Each provider list shows only the providers that support the selected language.
-
From the 'Translation provider' drop-down list, select Azure, Claude, Open-ai, or Soniox.
-
Under Agent language, set up the language the agent speaks:
- From the 'Agent language' drop-down list, select the language, for example English (British) (en-GB), or select Multi to detect the language.
- From the 'Speech to text provider' drop-down list, select the provider, for example Microsoft. If you select Soniox as the translation provider, Soniox also becomes the speech-to-text provider for every language and cannot be changed.
- From the 'Text to speech provider' drop-down list, select the provider, for example Microsoft.
- From the 'Voice name' drop-down list, select the voice the customer hears, for example en-GB-EthanNeural (Male).
-
Under Customer language, do the same for the language the customer speaks. To translate customers who speak different languages, select Multi in the 'Customer language' drop-down list.
-
Under Languages, click Add for each language that either side might speak, and for each one:
- From the 'Language' drop-down list, select the language, for example French (fr-FR), or select Multi to detect the language.
- From the 'Speech to text provider' drop-down list, select the provider, for example Microsoft.
- From the 'Text to speech provider' drop-down list, select the provider, for example Microsoft.
- From the 'Voice name' drop-down list, select the voice, for example fr-FR-AlainNeural (Male).
Add at least two languages.
-
Under Activation, add at least one code, and for each code:
- In the 'DTMF code' field, enter the number the agent dials to select this pairing.
- From the 'Agent language' drop-down list, select what the agent speaks.
- From the 'Customer language' drop-down list, select what the customer speaks.
- From the 'Translation provider' drop-down list, select azure, claude, open-ai, or soniox. With soniox, the speech-to-text provider of both languages in the pairing changes to Soniox.
Click Next.
Advanced
The Advanced tab controls the volume of each channel, the message the customer hears when translation starts, and the optional features.
-
Under Volume control, set how loud the original speaker is against the translation.
0dB is normal volume and-31dB is quiet.- One slider sets the level of the foreign language while the translation is not playing.
- A second slider sets the level while the translation is playing.
- The 'Mute foreign language for agent' check box silences the original for the agent completely.
Clicking the sound icon mutes the channel and disables its slider.
-
Optional: Under Activation message, enter up to 200 characters for the customer to hear, played in their own language.
With dynamic activation you can include
{from-language}and{to-language}, which are replaced by the customer's and the agent's language: "Automatic translation between {from-language} and {to-language} has been activated." -
Under Features, switch on what you need.
Feature What it does 'Agent barge-in' The agent speaking cuts off the translation of the customer's words. 'Customer barge-in' The customer speaking cuts off the translation of the agent's words. 'Store call transcript' Transcribes and stores both the original and the translation, for later reference or debugging. 'Allow activation code from customer' Lets the customer enter the DTMF code, not only the agent. Dynamic activation only. -
Optional: Under Advanced configuration, enter parameters in JSON for settings that the other tabs do not offer. See Advanced configuration.
-
Click Create.
Advanced configuration
The Advanced configuration section on the Advanced tab is a JSON editor for settings that are not available as wizard fields. In the JSON editor you can:
- Use a different speech-to-text or text-to-speech model from the provider's default, for example an ElevenLabs model for certain languages.
- Shorten the silence that ends a recognized segment, so the translation plays sooner.
- Help the speech-to-text provider recognize your own terms, such as product names.
- Pass parameters straight to the speech-to-text provider.
- Define how certain terms are translated. Supported only when 'Translation Provider' is Soniox. See
translation_termsin the example below.
Press Ctrl+Spacebar in the JSON editor to see the parameters you can enter. For the complete list, see the VoiceAI Connect bot parameters. Not all parameters are supported by every speech-to-text and text-to-speech provider. For parameters you want to use, see speech customization .
Enter a single JSON object. The editor underlines each problem, such as a syntax error, a wrong value type or an unknown parameter, and Create stays unavailable until you fix every problem.
| Parameter | What it does |
|---|---|
sttModel
|
Sets the speech-to-text model in place of the provider's latest model, for example stt-rt-v5. The model applies to both the agent language and the customer language. |
ttsModel
|
Sets the text-to-speech model in place of the provider's latest model, for example eleven_v4 for ElevenLabs. The model applies to both the agent language and the customer language. |
sttSegmentationSilenceTimeoutMs
|
Sets how many milliseconds of silence end a recognized segment before the segment is translated. The default is 2000. 700 is recommended, for a faster translation. |
sttSpeechContexts
|
Lists phrases that help the speech-to-text provider recognize your own terms, such as product names and abbreviations. |
sttInstructions
|
Supplies free text that tells the speech-to-text provider what to expect, for example how to format numbers. |
sttPassthruConfig
|
Passes the speech-to-text provider's own parameters through unchanged, for example the translation_terms that fix how a term is translated. |
Example:
{
"sttSegmentationSilenceTimeoutMs": 700,
"ttsModel": "eleven_v4",
"sttModel": "stt-rt-v5",
"sttInstructions": "Formatting numbers for speech:\n- Quantities, prices, amounts, times and dates: write normally (e.g. \"3 nights\", \"£249\", \"14:30\").\n- Anything read digit by digit (phone numbers, booking/reservation numbers, PINs, account numbers, postcodes, room numbers when confirming): separate every digit with a space, and group long strings with commas for natural pauses.\n Example: \"0 2 0, 7 9 4 6, 1 2 3 4\" — never \"02079461234\".\n- If the caller read out a number digit by digit, repeat it back digit by digit.\n If they said it as a number (\"twelve hundred\"), repeat it as a number.",
"sttSpeechContexts": [
{
"phrases": [
"OVOC",
"VOCA",
"VICA",
"SMARTS",
"SBC",
"RUNWAY"
]
}
],
"sttPassthruConfig": {
"testflag": true,
"context": {
"translation_terms": [
{ "source": "OVOC", "target": "management system" },
{ "source": "VICA", "target": "virtual personal assistant" },
{ "source": "house", "target": "funny situation" }
]
}
}
}
Enable the translation on a routing rule
A translation service takes effect only once it is switched on as a service on a routing rule. Switch it on when you add a rule, or edit an existing rule.